home *** CD-ROM | disk | FTP | other *** search
/ Software of the Month Club (Business) 1997 July / Software of the Month Club - Business (Volume 239) (July 1997).iso / pc / code / h.dxr / 00007_AgentCharVidLogic.ls < prev    next >
Encoding:
Text File  |  1996-02-15  |  1.4 KB  |  50 lines

  1. global NULLrect, gHotRects, gObjects
  2.  
  3. on pickAgent keyFrameRef
  4.   if keyFrameRef = #H06 then
  5.     set agentObj to getaProp(gObjects, #Agent06vid)
  6.     set agentObj2 to getaProp(gObjects, #Agent07vid)
  7.   else
  8.     set agentObj to getaProp(gObjects, #Agent07vid)
  9.     set agentObj2 to getaProp(gObjects, #Agent06vid)
  10.   end if
  11.   set Debt to getaProp(gStates, #Debt)
  12.   set creds to getaProp(gStates, #Credits)
  13.   if (Debt > 0) and (creds > 0) then
  14.     set condList1 to getaProp(agentObj, #condList)
  15.     set condList2 to getaProp(agentObj2, #condList)
  16.     if (condList1 = []) and (condList2 = []) then
  17.       if creds <= Debt then
  18.         set State to #takeAll
  19.       else
  20.         set State to #takeSome
  21.       end if
  22.     else
  23.       if creds >= Debt then
  24.         set State to #takeSome
  25.       else
  26.         set State to #OffScreen
  27.       end if
  28.     end if
  29.     if State <> #OffScreen then
  30.       if creds <= Debt then
  31.         set Debt to Debt - creds
  32.         set creds to 0
  33.       else
  34.         set creds to creds - Debt
  35.         set Debt to 0
  36.       end if
  37.       setaProp(gStates, #Debt, Debt)
  38.       setaProp(gStates, #Credits, integer(creds))
  39.       if getOne(getaProp(agentObj, #condList), State) = 0 then
  40.         add(getaProp(agentObj, #condList), State)
  41.       end if
  42.     end if
  43.   else
  44.     set State to #OffScreen
  45.   end if
  46.   set agentRef to getaProp(agentObj, #RefName)
  47.   MakeDynamic(agentRef, #State, State)
  48.   MakeDynamic(agentRef, #DisplayState, getaProp(agentObj, #State))
  49. end
  50.